from django.db import migrations

LDAP_AUTH_CONF_KEYS = [
    'AUTH_LDAP_SERVER_URI',
    'AUTH_LDAP_BIND_DN',
    'AUTH_LDAP_BIND_PASSWORD',
    'AUTH_LDAP_START_TLS',
    'AUTH_LDAP_CONNECTION_OPTIONS',
    'AUTH_LDAP_USER_SEARCH',
    'AUTH_LDAP_USER_DN_TEMPLATE',
    'AUTH_LDAP_USER_ATTR_MAP',
    'AUTH_LDAP_GROUP_SEARCH',
    'AUTH_LDAP_GROUP_TYPE',
    'AUTH_LDAP_GROUP_TYPE_PARAMS',
    'AUTH_LDAP_REQUIRE_GROUP',
    'AUTH_LDAP_DENY_GROUP',
    'AUTH_LDAP_USER_FLAGS_BY_GROUP',
    'AUTH_LDAP_ORGANIZATION_MAP',
    'AUTH_LDAP_TEAM_MAP',
    'AUTH_LDAP_1_SERVER_URI',
    'AUTH_LDAP_1_BIND_DN',
    'AUTH_LDAP_1_BIND_PASSWORD',
    'AUTH_LDAP_1_START_TLS',
    'AUTH_LDAP_1_CONNECTION_OPTIONS',
    'AUTH_LDAP_1_USER_SEARCH',
    'AUTH_LDAP_1_USER_DN_TEMPLATE',
    'AUTH_LDAP_1_USER_ATTR_MAP',
    'AUTH_LDAP_1_GROUP_SEARCH',
    'AUTH_LDAP_1_GROUP_TYPE',
    'AUTH_LDAP_1_GROUP_TYPE_PARAMS',
    'AUTH_LDAP_1_REQUIRE_GROUP',
    'AUTH_LDAP_1_DENY_GROUP',
    'AUTH_LDAP_1_USER_FLAGS_BY_GROUP',
    'AUTH_LDAP_1_ORGANIZATION_MAP',
    'AUTH_LDAP_1_TEAM_MAP',
    'AUTH_LDAP_2_SERVER_URI',
    'AUTH_LDAP_2_BIND_DN',
    'AUTH_LDAP_2_BIND_PASSWORD',
    'AUTH_LDAP_2_START_TLS',
    'AUTH_LDAP_2_CONNECTION_OPTIONS',
    'AUTH_LDAP_2_USER_SEARCH',
    'AUTH_LDAP_2_USER_DN_TEMPLATE',
    'AUTH_LDAP_2_USER_ATTR_MAP',
    'AUTH_LDAP_2_GROUP_SEARCH',
    'AUTH_LDAP_2_GROUP_TYPE',
    'AUTH_LDAP_2_GROUP_TYPE_PARAMS',
    'AUTH_LDAP_2_REQUIRE_GROUP',
    'AUTH_LDAP_2_DENY_GROUP',
    'AUTH_LDAP_2_USER_FLAGS_BY_GROUP',
    'AUTH_LDAP_2_ORGANIZATION_MAP',
    'AUTH_LDAP_2_TEAM_MAP',
    'AUTH_LDAP_3_SERVER_URI',
    'AUTH_LDAP_3_BIND_DN',
    'AUTH_LDAP_3_BIND_PASSWORD',
    'AUTH_LDAP_3_START_TLS',
    'AUTH_LDAP_3_CONNECTION_OPTIONS',
    'AUTH_LDAP_3_USER_SEARCH',
    'AUTH_LDAP_3_USER_DN_TEMPLATE',
    'AUTH_LDAP_3_USER_ATTR_MAP',
    'AUTH_LDAP_3_GROUP_SEARCH',
    'AUTH_LDAP_3_GROUP_TYPE',
    'AUTH_LDAP_3_GROUP_TYPE_PARAMS',
    'AUTH_LDAP_3_REQUIRE_GROUP',
    'AUTH_LDAP_3_DENY_GROUP',
    'AUTH_LDAP_3_USER_FLAGS_BY_GROUP',
    'AUTH_LDAP_3_ORGANIZATION_MAP',
    'AUTH_LDAP_3_TEAM_MAP',
    'AUTH_LDAP_4_SERVER_URI',
    'AUTH_LDAP_4_BIND_DN',
    'AUTH_LDAP_4_BIND_PASSWORD',
    'AUTH_LDAP_4_START_TLS',
    'AUTH_LDAP_4_CONNECTION_OPTIONS',
    'AUTH_LDAP_4_USER_SEARCH',
    'AUTH_LDAP_4_USER_DN_TEMPLATE',
    'AUTH_LDAP_4_USER_ATTR_MAP',
    'AUTH_LDAP_4_GROUP_SEARCH',
    'AUTH_LDAP_4_GROUP_TYPE',
    'AUTH_LDAP_4_GROUP_TYPE_PARAMS',
    'AUTH_LDAP_4_REQUIRE_GROUP',
    'AUTH_LDAP_4_DENY_GROUP',
    'AUTH_LDAP_4_USER_FLAGS_BY_GROUP',
    'AUTH_LDAP_4_ORGANIZATION_MAP',
    'AUTH_LDAP_4_TEAM_MAP',
    'AUTH_LDAP_5_SERVER_URI',
    'AUTH_LDAP_5_BIND_DN',
    'AUTH_LDAP_5_BIND_PASSWORD',
    'AUTH_LDAP_5_START_TLS',
    'AUTH_LDAP_5_CONNECTION_OPTIONS',
    'AUTH_LDAP_5_USER_SEARCH',
    'AUTH_LDAP_5_USER_DN_TEMPLATE',
    'AUTH_LDAP_5_USER_ATTR_MAP',
    'AUTH_LDAP_5_GROUP_SEARCH',
    'AUTH_LDAP_5_GROUP_TYPE',
    'AUTH_LDAP_5_GROUP_TYPE_PARAMS',
    'AUTH_LDAP_5_REQUIRE_GROUP',
    'AUTH_LDAP_5_DENY_GROUP',
    'AUTH_LDAP_5_USER_FLAGS_BY_GROUP',
    'AUTH_LDAP_5_ORGANIZATION_MAP',
    'AUTH_LDAP_5_TEAM_MAP',
]


def remove_ldap_auth_conf(apps, scheme_editor):
    setting = apps.get_model('conf', 'Setting')
    setting.objects.filter(key__in=LDAP_AUTH_CONF_KEYS).delete()


class Migration(migrations.Migration):
    dependencies = [
        ('conf', '0010_change_to_JSONField'),
    ]

    operations = [
        migrations.RunPython(remove_ldap_auth_conf),
    ]
